1 package uk.ac.roe.antigen.ant; 2 3 import javax.swing.JFrame; 4 5 import org.apache.tools.ant.input.InputHandler; 6 import org.apache.tools.ant.input.InputRequest; 7 import org.apache.tools.ant.input.MultipleChoiceInputRequest; 8 9 import uk.ac.roe.antigen.dialogs.AbstractFilePropertyInputHandler; 10 import uk.ac.roe.antigen.dialogs.DirPropertyInputHandler; 11 import uk.ac.roe.antigen.dialogs.FilePropertyInputHandler; 12 import uk.ac.roe.antigen.dialogs.RadioPropertyInputHandler; 13 import uk.ac.roe.antigen.dialogs.TextPropertyInputHandler; 14 import uk.ac.roe.antigen.utils.Config; 15 16 17 public class GeneralInputHandler implements InputHandler { 18 19 private JFrame frame; 20 public GeneralInputHandler(JFrame frame) { 21 this.frame = frame; 22 } 23 24 public void handleInput(InputRequest request) { 25 26 InputHandler handler; 27 if (request instanceof MultipleChoiceInputRequest) { 28 handler = new RadioPropertyInputHandler(frame); 29 } else { 30 String propertyName = request.getAddproperty(); 31 String filePropertySuffix = Config.getProperty("antigen.filepropertysuffix"); 32 String dirPropertySuffix = Config.getProperty("antigen.dirpropertysuffix"); 33 if (filePropertySuffix!=null && propertyName.endsWith(filePropertySuffix)) { 34 handler = new FilePropertyInputHandler(frame); 35 } else if (dirPropertySuffix!=null && propertyName.endsWith(dirPropertySuffix)) { 36 handler = new DirPropertyInputHandler(frame); 37 } else { 38 handler = new TextPropertyInputHandler(frame); 39 } 40 } 41 handler.handleInput(request); 42 43 } 44 } 45 46